Espérance de vie
Présentation du projet
Dans ce projet, nous regarderons l’espérance de vie des hommes et des femmes dans 170 pays, nous ferons des cartes du monde et des barplots interactifs, pour rendre la visualisation plus compréhensible…
Données
données sur l’espérance de vie des femmes et des hommes au niveau mondial en 2019. (Ces données ont été collectées sur différents sites Web, elles contenaient plusieurs valeurs manquantes qui ont été complétées à la main).
countries <- read.csv("https://gist.githubusercontent.com/tadast/8827699/raw/f5cac3d42d16b78348610fc4ec301e9234f82821/countries_codes_and_coordinates.csv")
data <- read.csv("data.csv", header = TRUE, sep = ",")
summary(data)## code nom name femme
## Length:170 Length:170 Length:170 Min. :55.49
## Class :character Class :character Class :character 1st Qu.:68.54
## Mode :character Mode :character Mode :character Median :77.07
## Mean :74.76
## 3rd Qu.:80.72
## Max. :87.45
## homme
## Min. :51.08
## 1st Qu.:64.33
## Median :70.88
## Mean :69.83
## 3rd Qu.:75.42
## Max. :81.90
On peut remarque que la moyenne de l’espérance de vie des femmes (variable femme) est supérieur à celle des hommes (variable homme) d’àprès le summary().
# donnée de la map
mapworld <- map_data("world") %>%
filter(region != "Antarctica",
region != "Greenland")
# Jointures
esp_vie <- data %>%
left_join(countries, by = c("name" = "Country")) %>%
select(code, nom, name, femme, homme) %>%
full_join(mapworld, by = c("name" = "region"))Palettes :
On génère quelques palette qu’on utilisera…
palette1 <- paste0("#", c("b5c99a", "9CC5A1", "49A078", "216869"))
palette2 <- paste0("#", c("b5e48c", "76c893", "34a0a4", "1a759f"))
palette3 <- paste0("#", c("cad2c5", "84a98c", "52796f", "354f52"))
palette_gradient <- c("#dbd5a4", "#354f52")
palette_gradient2 <- c("#95f9c3", "#0b3866")
palette_gradient3 <- c("#faae7b", "#432371")
palette_gradient4 <- c("#F3E69Bff", "#F79D7Fff", "#E2778Aff", "#B05D9Cff")Maps Interactives
Pour les femmes
Nous faisons un graphique représentant la carte du monde avec l’espérance de vie des femmes dans chaque pays, plus la couleur est foncée, plus l’espérance de vie des femmes est grande.
Ce graphique est bien interactif, donc en cliquant sur un pays vous trouverez les données exactes (nom du pays et l’espérance de vie des femmes pour ce pays). Vous pouvez même zoomer en sélectionnant une partie avec le curseur sur la carte pour mieux visualiser les pays un peu plus petits…
gg <- esp_vie %>%
ggplot(aes(x = long, y = lat, group = group)) +
geom_polygon(aes(fill = femme,
text = paste("Pays: ", name, "(",nom,")",
"<br>",
"Espérance de vie:", femme, " ans"))) +
scale_fill_gradientn(colours = palette_gradient3,
name = "Age",
labels = c("≤73.97 ans", "≤79.24 ans", "≤83.7 ans", "≤87.45 ans")) +
# fond du plot
theme(panel.background = element_rect("#20252C"),
plot.background = element_rect("#20252C"),
legend.background = element_rect("#20252C")) +
# legend
theme(legend.position = "bottom") +
# on enlève la grid et les axes
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank()) +
theme(axis.ticks = element_blank(),
axis.text = element_blank()) +
xlab("") + ylab("") +
# titre du plot
ggtitle("Espérance de vie chez les femmes") +
theme(plot.title = element_text(hjust = 0.5, size = 20, color = "#DCE1DE"),
text = element_text(color = "#DCE1DE")) +
theme(plot.margin = unit(c(1, 0, 0, 0), "cm")) +
theme(legend.position = c(0.12, 0.25))## Warning: Ignoring unknown aesthetics: text
ggplotly(gg, tooltip = "text")rm(countries, mapworld, gg)Pour les hommes
On fait pareil pour les hommes, on effectue un graphique interactif représentant l’espérance de vie des hommes dans chaque pays.
Plus la couleur est foncée, plus l’espérance de vie chez les hommes est grande.
## Warning: Ignoring unknown aesthetics: text
Pour les hommes et les femmes
On s’intéresse maintenant à la différence d’espérance de vie moyenne des femmes et des hommes, on aimerait voir dans quel pays l’espérance de vie moyenne des femmes est supérieure à celle des hommes et inversement.. .
On crée alors une nouvelle variable femme-homme :
si
femme-homme > 0: donc l’espérance de vie des femmes est supérieure à celle des hommes, donc le pays sera coloré en violet. Si cette différence est vraiment grande alors la couleur sera plus foncée sinon elle sera claire.si
femme-homme < 0: donc l’espérance de vie des hommes est supérieure à celle des femmes, donc le pays sera coloré en bleu. Si cette différence est vraiment grande alors la couleur sera plus foncée sinon elle sera claire.si
femme-homme = 0: donc l’espérance de vie des hommes est égale à celle des femmes, donc le pays sera coloré en blanc.
esp_vie <- esp_vie %>%
mutate(homme_et_femme = round(femme-homme, 3))## Warning: Ignoring unknown aesthetics: text
Barplots Interactifs
On va s’interesser maintenant à l’espérance de vie chez les hammes et les femmes pour chaque continent.
Pour cela on doit importer des données correspondant au continent des pays et les joindre à notre jeu de données.
Continents :
continent <- read.csv("continents2.csv.xls") %>%
select(country = name, alpha.3, region, sub.region)Jointure :
barplot_data <- data %>%
left_join(continent, by = c("code" = "alpha.3"))
# On ajoute la moyenne d'espérance des femmes et hommes pour chaque continent
# dans nos données.
moyenne_par_continent <- barplot_data %>%
left_join(barplot_data %>%
group_by(region) %>%
summarise(moy_femme_conti = mean(femme), moy_homme_conti = mean(homme)) %>%
transmute(region, moy_femme_conti, moy_homme_conti),
by = "region")
attach(data)
barplots_data <- moyenne_par_continent %>%
data.frame(esp_vie = as.numeric(c(femme,homme))) %>%
mutate(sexe = rep(c("femme", "homme"), each = 170))
barplots_data$moy_conti = as.numeric(c(moyenne_par_continent$moy_femme_conti,
moyenne_par_continent$moy_homme_conti))
# vérification :
barplots_data$moy_conti[171] == barplots_data$moy_homme_conti[1]## [1] TRUE
barplots_data <- na.omit(barplots_data)
# barplots_data$esp_vie[171] == barplots_data$homme[1]Représentation des graphiques
Graphique de gauche :
- l’espérance de vie des hommes en bleu ciel et celle des femmes en violet pour chaque continent.
Graphique de droite :
- l’espérance de vie des hommes en bleu ciel et celle des femmes en violet pour chaque pays du continent.
Exemple, pour l’Europe :
Ce graphique est bien interatif, vous pouvez :
- cliquer sur le sexe à droite (homme ou femme) pour visualiser qu’une seule variable.
- zoomer pour mieux visualiser, en seléctionnant une partie du graphe avec le curseur.
- télécharger l’image, en cliquant sur l’icône photo.
- réinitialiser les changement, en cliquant sur l’icône maison.
Pour tout les continents ensemble.
On fait pareil mais avec les autres continents puis on les regroupent tous dans un seul graphique.
subplot(stat_asie,
stat_afrique,
stat_amerique,
stat_europe,
stat_oceanie,
nrows = 5)Conclusion
On constate que quel que soit le continent ou le pays, l’espérance de vie des femmes est supérieur à celle des hommes en 2019.
D’après la troisième carte, on a vu qu’il n’y avait pas de couleur bleue ce qui veut dire qu’il n’y a aucun pays dont l’espérance de vie des hommes est supérieur à celle des femmes.
Pareillement pour les barplots, on remarque que les barres violettes dépassent toujours les barres en bleu ciels, on aboutit donc à la même conclusion.